Staged fryer heating system

ABSTRACT

Systems, methods, and computer program products for controlling a heating system in a fryer. At startup, a setpoint temperature for a cooking medium is set to a melt temperature. While in melt mode, each of a plurality of heating elements each located in a different region of a fry pot is sequentially activated to control an amount of heat provided to the cooking medium. Once the cooking medium has reached the melt temperature, the setpoint temperature is increased to a target cooking temperature. While in cooking mode, if an order to cook a food product is not received within a predetermined time period, the setpoint temperature is set to an idle temperature which is below the target setpoint temperature and above the melt temperature. The target cooking temperature is adjusted using a set of setpoint bias temperatures that is selected based on a cooking load.

TECHNICAL FIELD

The invention generally relates to fryers, and in particular, tosystems, methods, and computer program products for controlling aheating system in a fryer.

BACKGROUND

Oil-based frying is commonly used as a cooking method for a wide rangeof foods, such as poultry, fish, and potato products. Commercial fryersinclude one or more fry pots that are filled with a cooking medium suchas oil or solid fats. Heat is provided to the cooking medium using aheater, which typically includes an electrical heating element submergedin the cooking medium or a gas burner thermally coupled to the cookingmedium though the walls of the fry pot. When the cooking medium reachesa preset cooking temperature, food products are placed into the cookingmedium for a predetermined amount of time during which the food productsare cooked by heat from the cooking medium. To facilitate insertion andremoval of the food product, the food product is typically placed insidea container, such as a wire basket, and the container lowered into thecooking medium for the predetermined amount of time.

Fryers typically include an electronic controller that is configured tomaintain the temperature of the cooking medium at a preset level andgenerally operate the fryer. When the temperature of the cooking mediumdrops below a setpoint temperature, the controller activates a heater toraise the temperature of the cooking medium back to the setpointtemperature. When the setpoint temperature is achieved, the heater isdeactivated. The goal of the controller is to activate the heater in amanner that keeps the temperature of the cooking medium relativelyconsistent and near the setpoint temperature. However, controllers areoften subject to overshoot and other errors that cause the cookingmedium to become too hot or too cold.

Thus, there is a need for improved systems, methods, and computerprogram products which enable improved temperature control in fryers.

SUMMARY

In an embodiment of the invention, a fryer is provided. The fryerincludes a fry pot configured to receive a cooking medium, and acontroller. The controller is configured to control an amount of heatprovided to the cooking medium based on a setpoint temperature, which isset to a target cooking temperature during a cook cycle. In response tothe cook cycle ending, the controller starts an idle timer. If an orderto cook is received prior to expiration of the idle timer, thecontroller resets the idle timer. If the order to cook is not receivedprior to expiration of the idle timer, the controller sets the setpointtemperature to an idle temperature that is less than the target cookingtemperature.

In an aspect of the invention, the controller is further configured to,in response to the fryer being powered on, set the setpoint temperatureto a melt temperature that is less than the idle temperature, and inresponse to a sensed temperature of the cooking medium reaching the melttemperature, set the setpoint temperature to the target cookingtemperature.

In another aspect of the invention, the fryer further includes aplurality of heating elements, and the controller is further configuredto, while the setpoint temperature is set to the melt temperature,select a heating element of the plurality of heating elements based onan activation sequence, and activate the selected heating element for anactivation time. In response to the activation time expiring, thecontroller deactivates the selected heating element, selects a nextheating element in the activation sequence, and repeats activation,deactivation, and selection of the next heating element in theactivation sequence while the setpoint temperature is set to the melttemperature.

In another aspect of the invention, the controller is further configuredto, in response to deactivating the selected heating element, wait for adeactivation time before activating the next heating element.

In another aspect of the invention, the fry pot includes a plurality ofregions, each heating element of the plurality of heating elements islocated one of the plurality of regions, and the activation sequence isconfigured so that consecutively activated heating elements are not inthe same region.

In another aspect of the invention, the fryer further includes a heatingelement and a power switch including a first contactor and a secondcontactor connected in series. The power switch is configured toselectively couple the heating element to a power source in response toone or more signals from the controller, and the controller is furtherconfigured to, in response to receiving a first command to activate theheating element, determine a state of a contactor flag having a firststate and a second state. In response to the contactor flag being in thefirst state, the controller activates the first contactor, and inresponse to receiving a second command to deactivate the heatingelement, the controller deactivates the second contactor and changes thestate of the contactor flag to the second state. In response to thecontactor flag being in the second state, the controller activates thesecond contactor, and in response to receiving the second command todeactivate the heating element, deactivates the first contactor andchanges the state of the contactor flag to the first state.

In another aspect of the invention, the fryer further includes aplurality of heating elements each configured to provide heat to thecooking medium in response to being activated by the controller, and thecontroller is further configured to determine a cooking load and selecta set of setpoint bias temperatures based on the cooking load, eachsetpoint bias temperature defining a threshold temperature below thetarget cooking temperature. In response to a sensed temperature of thecooking medium being below a first threshold temperature but above asecond threshold temperature, the controller activates a first heatingelement of the plurality of heating elements, and in response to thesensed temperature of the cooking medium being below the secondthreshold temperature, the controller activates a second heating elementof the plurality of heating elements.

In another aspect of the invention, the fry pot includes a plurality ofregions, the fryer further includes a plurality of temperature sensorseach configured to provide one or more signals to the controllerindicative of a temperature of the cooking medium in a region of theplurality of regions, and the controller is further configured to, eachtime a heating element is to be activated, determine the region of thefry pot having a lowest temperature of the cooking medium, and selectthe heating element in the region having the lowest temperature of thecooking medium for activation.

In another aspect of the invention, the plurality of regions of the frypot includes a first region into which a first basket is lowered and asecond region into which a second basket is lowered, and the cookingload is one of a first cooking load in which the first basket and thesecond basket are each full of a food product, a second cooking load inwhich one of the first basket and the second basket is partially full ofthe food product and the other of the first basket and the second basketis full of the food product, and a third cooking load in which the firstbasket and the second basket are each partially full of the foodproduct.

In another aspect of the invention, the number of setpoint biastemperatures in the set of setpoint bias temperatures is equal to thenumber of heating elements in the plurality of heating elements.

In another aspect of the invention, the controller is further configuredto, in response to the sensed temperature of the cooking medium beingabove one of the first threshold temperature and the second thresholdtemperature, deactivate any heating elements of the plurality of heatingelements which were previously activated in response to the sensedtemperature being below the one of the first threshold temperature andthe second threshold temperature.

In another embodiment of the invention, a method of controlling thefryer is presented. The method includes controlling the amount of heatprovided to the cooking medium based on the setpoint temperature, thesetpoint temperature being set to the target cooking temperature duringthe cook cycle. In response to the cook cycle ending, the method startsthe idle timer. If an order to cook is received prior to expiration ofthe idle timer, the method resets the idle timer, and if the order tocook is not received prior to expiration of the idle timer, the methodsets the setpoint temperature to the idle temperature that is less thanthe target cooking temperature.

In an aspect of the invention, the method further includes, in responseto the fryer being powered on, setting the setpoint temperature to themelt temperature that is less than the idle temperature, and in responseto the sensed temperature of the cooking medium reaching the melttemperature, setting the setpoint temperature to the target cookingtemperature.

In another aspect of the invention, the method further includes, whilethe setpoint temperature is set to the melt temperature, selecting theheating element of the plurality of heating elements based on theactivation sequence, and activating the selected heating element for theactivation time. In response to the activation time expiring, the methoddeactivates the selected heating element, selects the next heatingelement in the activation sequence, and repeats activation,deactivation, and selection of the next heating element in theactivation sequence while the setpoint temperature is set to the melttemperature.

In another aspect of the invention, the method further includes, inresponse to deactivating the selected heating element, waiting for thedeactivation time before activating the next heating element.

In another aspect of the invention, each heating element of theplurality of heating elements is located one of the plurality of regionsof the fry pot, and the activation sequence is configured so thatconsecutively activated heating elements are not in the same region.

In another aspect of the invention, the fryer includes the heatingelement and the power switch including the first contactor and thesecond contactor connected in series, the power switch is configured toselectively couple the heating element to the power source, and themethod further includes, in response to receiving the first command toactivate the heating element, determining the state of a contactor flaghaving the first state and the second state. In response to thecontactor flag being in the first state, the method activates the firstcontactor of the power switch, and in response to receiving a secondcommand to deactivate the heating element, deactivates the secondcontactor and changes the state of the contactor flag to the secondstate. In response to the contactor flag being in the second state, themethod activates the second contactor, and in response to receiving thesecond command to deactivate the heating element, deactivates the firstcontactor and changes the state of the contactor flag to the firststate.

In another aspect of the invention, the fryer includes the plurality ofheating elements each configured to provide heat to the cooking mediumin response to being activated by the controller, and the method furtherincludes determining the cooking load and selecting the set of setpointbias temperatures based on the cooking load, each setpoint biastemperature defining the threshold temperature below the target cookingtemperature. In response to the sensed temperature of the cooking mediumbeing below the first threshold temperature but above the secondthreshold temperature, the method activates the first heating element ofthe plurality of heating elements, and in response to the sensedtemperature of the cooking medium being below the second thresholdtemperature, the method activates the second heating element of theplurality of heating elements.

In another aspect of the invention, the fryer includes the fry pothaving the plurality of regions, and the method further includes, eachtime a heating element is to be activated, determining the region of thefry pot having the lowest temperature of the cooking medium, andselecting the heating element in the region having the lowesttemperature of the cooking medium for activation.

In another embodiment of the invention, a computer program product forcontrolling the fryer is provided. The computer program product includesa non-transitory computer-readable storage medium, and program codestored on the non-transitory computer-readable storage medium that, whenexecuted by one or more processors, causes the one or more processors tocontrol the amount of heat provided to the cooking medium based on thesetpoint temperature, the setpoint temperature being set to the targetcooking temperature during the cook cycle. In response to the cook cycleending, the program code causes the one or more processors to start theidle timer, if the order to cook is received prior to expiration of theidle timer, reset the idle timer, and if the order to cook is notreceived prior to expiration of the idle timer, set the setpointtemperature to the idle temperature that is less than the target cookingtemperature.

In another embodiment of the invention, another fryer is provided. Thefryer includes the fry pot configured to receive the cooking medium, theplurality of heating elements each configured to provide heat to thecooking medium, and the controller. The controller is configured tocontrol the amount of heat provided to the cooking medium by selectivelyactivating the heating elements based on the setpoint temperature, thesetpoint temperature being set to the target cooking temperature. Thecontroller is further configured to determine the cooking load andselect the set of setpoint bias temperatures based on the cooking load,each setpoint bias temperature defining the threshold temperature belowthe target cooking temperature. In response to the sensed temperature ofthe cooking medium being below the first threshold temperature but abovethe second threshold temperature, the controller activates the firstheating element of the plurality of heating elements, and in response tothe sensed temperature of the cooking medium being below the secondthreshold temperature, the controller activates the second heatingelement of the plurality of heating elements.

The above summary presents a simplified overview of some embodiments ofthe invention to provide a basic understanding of certain aspects of theinvention discussed herein. The summary is not intended to provide anextensive overview of the invention, nor is it intended to identify anykey or critical elements, or delineate the scope of the invention. Thesole purpose of the summary is merely to present some concepts in asimplified form as an introduction to the detailed description presentedbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate various embodiments of theinvention and, together with the general description of the inventiongiven above, and the detailed description of the embodiments givenbelow, serve to explain the embodiments of the invention.

FIG. 1 is a perspective view of an exemplary fryer according to anembodiment of the invention.

FIG. 2 is a cross-sectional view of one vat of the fryer of FIG. 1depicting a fry pot, heating elements, a controller, and power switches.

FIG. 3 is a diagrammatic view of an exemplary power switch of FIG. 2

FIG. 4 is a flow chart of a heating element control process which may beexecuted by the controller of FIG. 2.

FIG. 5 is a flow chart of a temperature control process which may beexecuted by the controller of FIG. 2.

FIG. 6 is a flow chart of another heating element control process whichmay be executed by the controller of FIG. 2.

FIG. 7 is a flow chart of a heater staging process which may be executedby the controller of FIG. 2.

It should be understood that the appended drawings are not necessarilyto scale, and may present a somewhat simplified representation ofvarious features illustrative of the basic principles of the invention.The specific design features of the sequence of operations disclosedherein, including, for example, specific dimensions, orientations,locations, and shapes of various illustrated components, may bedetermined in part by the particular intended application and useenvironment. Certain features of the illustrated embodiments may havebeen enlarged or distorted relative to others to facilitatevisualization and a clear understanding. In particular, thin featuresmay be thickened, for example, for clarity or illustration.

DETAILED DESCRIPTION

Fryers in accordance with embodiments of the invention may include aplurality of operational modes, and a heating system having a pluralityof individually controlled heating elements. The modes may include amelt mode, a warm idle mode, and a cooking mode. The heating elementsmay be controlled using a cold-region selection feature that determineswhich heating elements should be activated to maintain a setpointtemperature T_(SP) based on the relative temperature of the cookingmedium in different regions of the fry pot. A staging process may alsobe implemented that anticipates an impending cook cycle in order toprovide better management of temperature drops and overshoots of thecooking medium based on an expected cooking load. To this end, thestaging process may activate one or more heating elements to compensatefor the expected cooking load. This may reduce temperature drop andshorten temperature recovery periods as compared to conventional fryers,thereby providing more consistent cooking and improved product quality.This cooking load anticipation feature may be particularly advantageouswhen used in ‘batch mode’ where the temperature of the cooking mediummay have an opportunity to cool between cook cycles.

FIG. 1 depicts an exemplary fryer 10 in accordance with an embodiment ofthe invention. The fryer 10 includes a plurality of fry pots 12, 14, acabinet 16, one or more control panels 18, one or more access panels 22,24, wheels 26, a basket hanger 28, and a backsplash 30. Each of the frypots 12, 14, cabinet 16, access panels 22, 24, basket hanger 28, andbacksplash 30 may be constructed from stainless steel, mild steel, orsome other suitable material. Each fry pot 12, 14 also includes arespective top opening 32, 34 though which a food product can be placedinto the fryer 10.

A food product may be placed into the fry pots 12, 14, for example, bylowering a basket containing the food product into the fry pot 12, 14through the top opening 32, 34. At completion of the cook cycle, thebasket may be removed from the fry pot 12, 14 and hung from the baskethanger 28 to allow excess cooking medium to drain back into the fry pot12, 14. The control panels 18 may provide a human-machine interface foroperating the fryer 10. To this end, the control panels 18 may receivecommands from an operator of the fryer 10, and display informationregarding a status of the fryer 10 to the operator. The access panels22, 24 may be used to access to the interior of cabinet 16 and toservice the components of the fryer 10.

FIG. 2 depicts a diagrammatic cross-sectional view of an exemplary frypot 12, 14 in accordance with an embodiment of the invention. The frypot 12, 14 may be configured to receive a cooking medium 36 and one ormore (e.g., two) baskets 38. Suitable cooking mediums 36 may includeplant-based fats, animal-based fats, and/or synthetic (e.g.,hydrogenated) fats. A heating system 40 configured to heat the cookingmedium 36 may include a controller 42, one or more (e.g., four) heatingelements 44-47, one or more (e.g., three) temperature sensors 48-50, alevel sensor 52, a thermal cutoff switch 54, and one or more (e.g.,four) power switches 55-58. The power switches 55-58 may be used toselectively couple the heating elements 44-47 to a power source 59 viathe thermal cutoff switch 54 in response to power control signals (e.g.,pulse-width modulated signals) from the controller 42. The powerswitches 55-58 may thereby enable the controller 42 to individuallycontrol the amount of power provided to each heating element 44-47. Eachpower switch 55-58 may include one or more contactors, thyristors,triacs, or any other suitable high power switching devices designed toprovide power to high-current loads.

The heating elements 44-47 may be located in different positions so thateach element is the primary provider of heat to a different region ofthe cooking medium 36. To this end, each heating element 44-47 may beoffset vertically, horizontally, or both vertically and horizontallyfrom the other heating elements. Exemplary regions may include atop-left heated region in which a top-left heating element 44 islocated, a top-right heated region in which a top-right heating element45 is located, a bottom-left heated region in which a bottom-leftheating element 46 is located, and a bottom-right heated region in whicha bottom-right heating element 47 is located. In an exemplaryconfiguration of the heating elements 44-47, each heating element 44-47may be located one or more of a distance d₁ from a side surface 60 offry pot 12, 14, a distance d₂ from a laterally adjacent heating element44-47, a distance d₃ from a vertically adjacent heating element 44-47, adistance d₄ from a bottom portion of the basket 38 when the basket 38 isfully lowered into the fry pot 12, 14, and a distance d₅ from a bottomsurface 62 of fry pot 12, 14. The distances d₁-d₅ may be selected toprovide optimal heating of the cooking medium 36, e.g., by minimizingthermal gradients within the cooking medium 36 when the heating elements44-47 are activated.

The temperature sensors 48-50 may include a left temperature sensor 48configured to detect the temperature of the cooking medium 36 in aregion occupied by or proximate to one of the baskets 38, a middletemperature sensor 49 configured to detect the temperature of thecooking medium in a region between the baskets 38, and a righttemperature sensor 50 configured to detect the temperature of thecooking medium 36 in a region occupied by or proximate to the other ofthe baskets 38.

The controller 42 may be operatively coupled to the control panel 18,temperature sensors 48-50, level sensor 52, and power switches 55-58.The controller 42 may be configured to provide operating information to,and receive input from, an operator of the fryer 10 via the controlpanels 18. The temperature sensors 48-50 may be configured to providesignals to the controller 42 indicative of the temperature of thecooking medium 36 in the region occupied by the sensor. These signalsmay be used by the controller 42 to regulate the temperature of thecooking medium 36, e.g., by comparing the sensed temperature T_(SENSE)with a setpoint temperature T_(sp), and to display the temperature ofthe cooking medium 36 on the control panel 18.

The controller 42 may include a processor 64, a memory 66 that storesprogram code which is executed by the processor 64, and an input/output(I/O) interface 68 that operatively couples the processor to othercomponents of the fryer 10, such as the control panel 18, power switches55-58, temperature sensors 48-50, and level sensor 56. The controlpanels 18 may be operatively coupled to the controller 42 to provide ahuman-machine interface (HMI) that allows the operator to interact withthe controller 42. The control panels 18 may include a display (e.g., atouchscreen) having suitable audio and visual indicators capable ofproviding information to the operator. The control panels 18 may alsoinclude input devices and controls capable of accepting commands orinput from the operator and transmitting the entered input to thecontroller 42, such as the aforementioned touchscreen. In this way, thecontrol panels 18 may enable manual initiation or selection of systemfunctions, for example, during set-up of the fryer 10.

The processor 64 may operate under the control of an operating system 70that resides in memory 66. The operating system 70 may manage controllerresources so that computer program code embodied as one or more computersoftware applications, such as an application 72 residing in memory 66,can have instructions executed by the processor 64. In an alternativeembodiment, the processor 64 may execute the application 72 directly, inwhich case the operating system 70 may be omitted. One or more datastructures 74 may also reside in memory 66, and may be used by theprocessor 64, operating system 70, or application 72 to store ormanipulate data.

The controller 42 may control the various cycles of the fryer 10 bytransmitting signals to, and receiving signals from the control panel18, temperature sensors 48-50, level sensor 52, and power switches55-58. For example, the controller 42 may control the temperature of thecooking medium 36 by applying power to the heating elements 44-47 in acontrolled manner through selective activation of the correspondingpower switches 55-58. This controlled application of power to a heatingelement may be referred to herein as simply activation of the heatingelement. The amount of power applied to the heating element while it isactivated may be further controlled using Pulse-Width-Modulation (PWM)or any other suitable method of controlling the applied power.

The controller 42 may determine the sensed temperature T_(SENSE) of thecooking medium 36 by averaging the temperatures detected by each of thetemperature sensors 48-50. This sensed cooking medium temperature may beupdated periodically, e.g., about once every 2.5 seconds. If thecontroller 42 determines the temperature of the cooking medium 36 hasexceeded a maximum operating temperature T_(MAX) (e.g., T_(MAX)=400°F.), the controller 42 may shut off power to all heating elements 44-47and cause the control panel 18 to indicate an overtemperature alarm. Asa further precaution, the thermal cutoff switch 54 may be configured toelectrically decouple the power switches 55-58 from the power source 59if the temperature of the cooking medium 36 rises above a high limittemperature T_(HL) (e.g., T_(HL)=450° F.). In response to detecting thetemperature of the cooking medium 36 has exceeded the high limittemperature T_(HL), the controller 42 may cause the control panel 18 toindicate another type of overtemperature alarm.

FIG. 3 depicts an exemplary power switch 76 in accordance with anembodiment of the invention. The power switch 76 includes a plurality ofcontactors 77 connected in series. The input of one of the contactors 77is operatively coupled to a source of power (e.g., the output of thermalcutoff switch 54), and the output of the other contactor 77 isoperatively coupled to a heating element 78. The series configuration ofcontactors 77 requires the controller 42 to switch on both contactors 77in order to activate the heating element 78.

The controller 42 may disable the heating system 40 by default onpower-up. Having a default startup in which the heating system 40 isinactive may facilitate maintenance and filtration activities, and mayalso prevent the heating elements 44-47 from running in off hours. Inresponse to powering up the fryer 10, the control panel 18 may initiallydisplay a menu screen that provides the operator with the option ofenabling the heating elements 44-47 in none, one, or both fry pots 12,14. An overtemperature interlock feature programmed into the controller42 may prevent the heating elements 44-47 from being activated if thetemperature of the cooking medium 36 is too high, e.g., above 400° F.After the preliminary checks have been completed and the heatingelements 44-47 are enabled, the heating system 40 is operational.

The heating system 40 attempts to maintain the temperature of thecooking medium 36 at the setpoint temperature T_(SP) by automaticallyactivating and deactivating the heating elements 44-47. When the heatingsystem 40 is operating in the melt mode, the setpoint temperature T_(sp)is set to a melt temperature T_(MELT), e.g., about 215° F. When theheating system 40 is operating in the cooking mode, the setpointtemperature T_(SP) is set to a target cooking temperature T_(TCT), e.g.,about 335° F. When the heating system 40 is operating in the warm idlemode, the setpoint temperature T_(sp) is set to an idle temperatureT_(IDLE), e.g., about 275° F.

FIG. 4 depicts a flowchart illustrating an exemplary heating elementcontrol process 80 that may be implemented to control activation ofindividual heating elements 44-47 in accordance with an embodiment ofthe invention in which each power switch 55-58 includes two contactors77, such as shown by the power switch 76 depicted in FIG. 3. Althoughshown as a single process for clarity, it should be understood that aseparate instance of process 80 may be executed concurrently for eachheating element 44-47. In block 82, the process 80 may initialize acontactor flag and a contactor state. This initialization may includecausing one of the contactors 77 to enter a low impedance or “closed”state (e.g., contactor A), another contactor 77 to enter a highimpedance or “open” state (e.g., contactor B), and the contactor flagfor the switch being controlled to be set or cleared in accordance withthe state of the contactors (e.g., contactor flag=set).

In block 82, the process 80 determines if an on-command has beenreceived for the heating element, e.g., from a temperature controlprocess being executed by the controller 42. If an on-command has notbeen received (“NO” branch of decision block 82), the process 80 maycontinue to wait for the on-command. If an on-command has been received(“YES” branch of decision block 82), the process 80 proceeds to block 86and checks the status of the contactor flag. If the contactor flag isset (“YES” branch of decision block 86), the process 80 proceeds toblock 88, activates (i.e., closes) contactor B, and proceeds to block90. If the contactor flag is not set (“NO” branch of decision block 86),the process 80 proceeds to block 92, activates (i.e., close) contactorA, and proceeds to block 94.

In block 90 and in block 94, the process 80 determines if an off-commandhas been received, e.g., from the aforementioned temperature controlprocess. If an off-command has not been received (“NO” branch ofdecision blocks 90, 94), the process 80 continues to wait for theoff-command. If an off-command has been received (“YES” branch ofdecision blocks 90, 94), the process 80 proceeds to block 96 (from block90) or to block 98 (from block 94).

In block 96, the process 80 deactivates (i.e., opens) contactor A andclears the contactor flag. In block 98, the process 80 deactivates(i.e., opens) contactor B and clears the contactor flag. In either case,the process 80 then proceeds to block 100. The process 80 may therebycause the switch to be in an open state by alternately opening one ofthe contactors 77 in the switch depending on the state of the contactorflag. The process 80 may thereby optimize contactor life by alternatingwhich contactor 77 is activated between activations of the heatingelement controlled by the switch.

The controller 42 may attempt to maintain the temperature of the cookingmedium 36 at the setpoint temperature T_(SP) by determining an errortemperature T_(ERR). The error temperature T_(ERR) may be determined bytaking the difference between the sensed temperature T_(SENSE) and thesetpoint temperature T_(SP), e.g., T_(ERR)=T_(SENSE)−T_(SP). The errortemperature T_(ERR) may then be used as an input to a temperaturecontrol algorithm (e.g., a proportional—integral—derivative algorithm)that outputs a correction signal. The temperature control algorithm mayuse the correction signal determine the value of a control variableassociated with a rate at which energy is to be provided to one or moreof the heating elements 44-47. Control variables may include, but arenot limited to a Pulse-Width-Modulation (PWM) duty cycle, heatingelement activation time, number of heating elements activated, or anyother variable that controls the rate at which heat is provided to thecooking medium 36.

FIG. 5 depicts a flowchart illustrating a temperature control process110 that may be implemented by the controller 42 to set the value of thesetpoint temperature T_(SP). In block 112, the process 110 sets thevalue of the setpoint temperature T_(SP) to the melt temperatureT_(MELT), e.g., in response to the fryer 10 being powered on. The melttemperature TWEET may be selected to prevent the controller 42 fromcausing the heating elements 44-47 to heat up too fast from a coldstartup. Setting the setpoint temperature T_(SP) to the melt temperatureT_(MELT) may cause the heating system 40 to gradually heat cookingmediums which are solid at low temperature (e.g., shortening) so thatthe cooking medium 36 has an opportunity to liquify before heat isapplied at a higher rate. This may result in the cooking medium 36 beingheated at a rate that prevents scorching, smoking, or breakdown of thecooking medium 36, as well as other negative effects.

In block 114, the process 110 may determine if the sensed temperatureT_(SENSE) of the cooking medium 36 has reached the melt temperatureT_(MELT). If the sensed temperature T_(SENSE) of the cooking medium 36has not reached the melt temperature TWEET (“NO” branch of decisionblock 114), the process 110 remains in the melt mode and continue tomonitor the temperature of the cooking medium 36. If the sensedtemperature T_(SENSE) of the cooking medium 36 has reached the melttemperature T_(MELT) (“YES” branch of decision block 114), the process110 causes the fryer 10 to exit the melt mode and enter the cooking modeby proceeding to block 116, setting the value of the setpointtemperature T_(sp) to the target cooking temperature T_(TCT), andproceeding to block 118.

In block 118, the process 110 determines if the temperature of thecooking medium 36 is at or above a minimum cooking temperature T_(MIN).The minimum cooking temperature THIN is a temperature that is consideredadequate to start a cook cycle, and may be equal to or somewhat belowthe target cooking temperature T_(TCT). If the sensed temperatureT_(SENSE) of the cooking medium 36 is not at or above the minimumcooking temperature T_(MIN) (“NO” branch of decision block 126), theprocess 110 continues to monitor the temperature of the cooking medium36.

If the sensed temperature T_(SENSE) of the cooking medium 36 has reachedthe minimum cooking temperature T_(MIN). (“YES” branch of decision block126), the process 110 proceeds to block 120, starts an idle timer, andproceeds to block 122. The idle timer may be a timer that defines howlong the fryer 10 can be inactive before entering the warm idle mode.When the fryer 10 enters the warm idle mode, the temperature of thecooking medium is allowed to drop to the idle temperature T_(IDLE). Inan embodiment of the invention, the idle timer may be set so that thefryer 10 exits the cooking mode if no orders to cook a food product arereceived for five minutes.

In block 122, the process 110 determines if an order to cook a foodproduct has been received, e.g., due to the operator selecting a cookingoperation on the control panel 18 or because a cooking operation iswaiting in a queue. If an order has been received (“YES” branch ofdecision block 120), the process 110 proceeds to block 124. If an orderhas not been received (“NO” branch of decision block 122), the processproceeds to block 126 and determines if the idle timer has expired. Ifthe idle timer has not expired (“NO” branch of decision block 126), theprocess 110 returns to block 122. If the idle timer has expired (“YES”branch of decision block 126), the process 110 causes the fryer 10 toenter the warm idle mode by proceeding to block 128, setting the valueof the setpoint temperature T_(SP) to the warm idle temperatureT_(IDLE), and proceeding to block 130. The warm idle temperatureT_(IDLE) may be a temperature which is below typical cookingtemperatures to avoid unnecessary aging of the cooking medium, but highenough to allow a short recovery time if the cooking medium 36 needs tobe reheated to the target cooking temperature T_(TCT).

While in the idle mode, the process 110 continues monitoring forreception of an order to cook a food product as described above withrespect to block 122. If an order is not received (“NO” branch ofdecision block 130), the process 110 keeps the fryer 10 in the warm idlemode. If an order is received (“YES” branch of decision block 130), theprocess 110 causes the fryer 10 to exit the warm idle mode and enter thecooking mode by proceeding to block 132 and setting the setpointtemperature T_(sp) to the target cooking temperature T_(TCT).

In block 134, the process 110 determines if the temperature of thecooking medium 36 is at or above the minimum cooking temperature THIN.The temperature of the cooking medium 36 may have dropped below theminimum cooking temperature THIN, for example, if the fryer 10 has beenin the idle mode long enough for the cooking medium to cool offsignificantly. If the sensed temperature T_(SENSE) of the cooking medium36 is not at or above the minimum cooking temperature T_(MIN) (“NO”branch of decision block 134), the process 110 continues to monitor thetemperature of the cooking medium 36 until it has reached the minimumcooking temperature T_(MIN). In response to the sensed temperatureT_(SENSE) of the cooking medium 36 reaching the minimum cookingtemperature T_(MIN) (“YES” branch of decision block 126), the process110 proceeds to block 124.

In block 124, the process 110 resets the idle timer and proceeds toblock 136 to begin the cook cycle. The idle timer may be reset, forexample, in response to detecting that a basket 38 has been lowered intothe cooking medium 36. The controller 42 may detect a basket beinglowered into the cooking medium 36, for example, based on a drop in thetemperature of the cooking medium 36 sensed by one or more of thetemperature sensors 48-50. During the cook cycle, the process 110 mayproceed to block 138 and monitor the cook cycle to determine when thecook cycle is over, e.g., by monitoring a cook cycle timer. When thecook cycle is over (“YES” branch of decision block 138), the process 110returns to block 120 and starts the idle timer. Thus, if another orderto cook a food product is not received within the timeout period, theprocess 110 re-enters the warm idle mode as described above with respectto block 92 and block 94.

FIG. 6 depicts a flowchart illustrating a heating element controlprocess 140 that may be implemented by the controller 42 to activate theheating elements 44-47 while the controller 42 is operating in the meltmode. Process 140 may cause the controller 42 to sequentially activatethe heating elements 44-47 in a predetermined melt mode activationsequence.

In block 142, the process 140 selects a heating element 44-47 toactivate that begins the activation sequence, e.g., top-left heatingelement 44. The process 140 then proceeds to block 144 and activates theselected heating element for a melt mode activation time t_(mm-on). Inan embodiment of the invention, the melt mode activation time t_(mm-on)on may be about 15 seconds. The melt mode activation time t_(mm-on) onmay vary depending on the type of cooking medium 36 in use. For example,cooking mediums 36 that are solid at room temperature (shortening) mayhave a shorter melt mode activation time t_(mm-on) on than cookingmediums 36 that are liquid at room temperature (e.g., vegetable oil).

When the melt mode activation time t_(mm-on) on has elapsed, the process140 proceeds to block 146, deactivates the heating element, and waitsfor a melt mode deactivation time t_(mm-off) before proceeding to block148. In an embodiment of the invention, the melt mode deactivation timet_(mm-off) may be about five seconds. The deactivation time t_(mm-off)may provide time for heat to dissipate into the cooking medium 36 aswell as for the temperature sensors 48, 49, 50 to detect a change in thetemperature of the cooking medium 36.

In block 148, the process 140 determines if the melt mode is stillactive, e.g., has the sensed temperature T_(SENSE) reached the melttemperature T_(MELT). If the melt mode is no longer active (“NO” branchof decision block 148), the process 140 proceeds to block 150 and exitsmelt mode heater control. If the melt mode is active (“YES” branch ofdecision block 148), the process 140 proceeds to block 152 and selectsthe next heating element 44-47 in the activation sequence, e.g., thebottom-right heating element 47. The process 140 then returns to block144 and activates the newly selected heating element 44-47 for theactivation time t_(mm-on). The heating element control process 140 maycontinue so long as the fryer 10 is in the melt mode so that the heatingelements 44-47 are repeatedly powered according to the activationsequence. One suitable activation sequence that may be implemented forthe configuration of heating elements 44-47 depicted in FIG. 2 is (1)top-left heating element 44, (2) bottom-right heating element 47, (3)bottom-left heating element 46, (4) top-right heating element 45.Whichever sequence used is repeated by the process 140 until the process140 is terminated.

FIG. 7 depicts a flowchart illustrating a heater staging process 160that may be implemented by the controller 42 to adjust the targetcooking temperature T_(TCT), and thus the setpoint temperature T_(SP),when the fryer 10 is in the cooking mode. The process 160 may provide aheater-staged cooking feature that comprises a series of stages whichdetermine which heating elements 44-47 are activated while the fryer 10is operating in the cooking mode. The process 160 may be initiated bythe controller 42 in response to beginning a cook cycle, or at any othersuitable time.

In block 162, the process 160 determines a cooking load for the cookcycle. Exemplary cooking loads may include full baskets (e.g., two fullbaskets), part-full baskets (e.g., one full basket and one half-fullbasket), and half-full baskets (e.g., two half-full baskets). Inresponse to determining the cooking load, the process 160 proceeds toblock 164 and selects a set of setpoint bias temperatures based on thecooking load. Each setpoint bias temperature defines a thresholdtemperature level below the target cooking temperature T_(TCT). When thesensed temperature T_(SENSE) drops below one of the thresholdtemperatures, a different heater stage may be activated. For example, astage one bias temperature T_(S1) in the full baskets group may have onevalue (e.g., 2° F.), the stage one bias temperature T_(S1) in thepart-full baskets group may have another value (e.g., 3° F.), and so on.Exemplary setpoint bias temperatures are shown in Table I below.

TABLE 1 Setpoint Bias Temperatures Stage Full Baskets Part-Full BasketsHalf-Full Baskets 1 2° F.  3° F.  3° F. 2 3° F.  4° F.  5° F. 3 4° F. 6° F.  8° F. 4 5° F. 10° F. 15° F.

Once the setpoint bias temperatures have been selected based on thecooking load, the process 160 proceeds to block 166 and determines ifthe sensed temperature T_(SENSE) has dropped below the stage onethreshold temperature T_(TH1), i.e., is T_(TCT)−T_(SENSE)>T_(S1)? If thesensed temperature T_(SENSE) has not dropped below the stage onethreshold temperature T_(TH1) (“NO” branch of decision block 166), theprocess 160 proceeds to block 168, deactivates any active heatingelements, and continues to monitor the temperature of the cooking medium36. If the sensed temperature T_(SENSE) has dropped below the stage onethreshold temperature T_(TH1) (“YES” branch of decision block 166), theprocess 160 proceeds to block 170.

In block 170, the process 160 determines if the sensed temperatureT_(SENSE) has dropped below the stage two threshold temperature T_(TH2).If the sensed temperature T_(SENSE) has dropped below the stage twothreshold temperature T_(TH2) (“YES” branch of decision block 168), theprocess 160 proceeds to block 172. If the sensed temperature T_(SENSE)has not dropped below the stage two threshold temperature T_(TH2) (“NO”branch of decision block 168), the process 160 proceeds to block 174,activates the stage one heating element and returns to block 166. Itshould be understood that in process 160, “activating the stage ‘X’heating element(s)” means that only the heating element or elements ofthat stage are active after activation. That is, activation of aparticular stage will deactivate any heating elements which werepreviously active but that are not included in the particular stage.

To determine which heating element to activate in block 174, the process160 may implement the cold-region selection feature. Under a stage onecondition, the cold-region selection feature may select a heatingelement 44-47 on the side of the fry pot 12, 14 with the lowesttemperature for activation. For example, if the left temperature sensor48 indicates a lower temperature than the right temperature sensor 50,the process 160 may select one of the left-side heating elements (e.g.,the top-left heating element 44) for activation. In contrast, if theright temperature sensor 50 indicates a lower temperature than the lefttemperature sensor 48, the process 160 may select one of the right-sideheating elements (e.g., the top-right heating element 45) foractivation.

In block 172, the process 160 determines if the sensed temperatureT_(SENSE) has dropped below the stage three threshold temperatureT_(TH3). If the sensed temperature T_(SENSE) of the cooking medium 36has dropped below the stage three threshold temperature T_(TH3) (“YES”branch of decision block 172), the process 160 proceeds to block 176. Ifthe sensed temperature T_(SENSE) of the cooking medium 36 has notdropped below the stage three threshold temperature T_(TH3) (“NO” branchof decision block 172), the process 160 proceeds to block 178, activatesthe stage two heating elements, and returns to block 166.

The stage two activation may either keep the heating element activatedin stage one active, or if no heating elements are already active,select a heating element on the side of the fry pot 12, 14 with thelowest temperature for activation as described above for block 174. Theprocess 160 may then activate another heating element by selecting aninactive heating element on the side of the fry pot 12, 14 with thelowest temperature for activation. This additional heating element maybe on the same side as the heating element activated in stage one (e.g.,both the top-left heating element 44 and the bottom-left heating element46 are activated), or on the opposite side from the heating elementactivated in stage one (e.g., both the top-left heating element 44 andthe top-right heating 45 are activated). The latter opposite-sidescenario may be more common in cases where the process 160 has been instage one for a period of time prior to entering stage two.

In block 176, the process 160 determines if the sensed temperatureT_(SENSE) of the cooking medium 36 has dropped below the stage fourthreshold temperature T_(TH4). If the sensed temperature T_(SENSE) ofthe cooking medium 36 has dropped below the stage four thresholdtemperature T_(TH4) (“YES” branch of decision block 176), the process160 proceeds to block 180, activates the stage four heating elements,and proceeds to block 182. The stage four activation may either activateor keep the heating elements activated in stages one through threeactive as described above, as well as activate another heating element,e.g., the only remaining inactive heating element of the heating system40 depicted in FIG. 2.

If the sensed temperature T_(SENSE) of the cooking medium 36 has notdropped below the stage four threshold temperature T_(TH4) (“NO” branchof decision block 176), the process 160 proceeds to block 184, activatesthe stage three heating elements, and returns to block 136. The stagethree activation may either activate or keep the heating elementsactivated in stages one and two active as described above, as well asactivate another heating element. If all the heating elements on oneside of the fry pot 12, 14 have been activated (e.g., both the top-leftheating element 44 and bottom-left heating element 46 are activated),the process 160 selects a heating element from the other side foractivation (e.g., the top-right heating element 45). If one heatingelement on each side of the fry pot 12, 14 has been activated (e.g.,both the top-left heating element 44 and the top-right heating element45 are activated), the process 160 may select a remaining heatingelement from the colder side for activation (e.g., one of thebottom-left heating element 46 or bottom-right heating element 47).

In block 182, the process 160 determines if the cook cycle has finished.If the cook cycle is has not finished (“NO” branch of decision block184), the process 160 returns to block 136 and continues implementingstaged heating control of the heating elements 44-47. If the cook cyclehas finished (“YES” branch of decision block 184), the process 160 mayterminate.

By selecting a heating element on the side of the fry pot 12, 14 withthe lowest temperature for activation, the cold-region selection featuremay provide more even heating of the cooking medium 36 as compared toheating systems lacking this feature. The cold-region selection featuremay also help compensate for uneven cooking loads. This advantageextends to heating stages in which an additional heating element isbeing activated. The additional heating element may be on the same sideas the heating element activated in stage one (e.g., both the top-leftheating element 44 and the bottom-left heating element 46 areactivated), or on the opposite side from the heating element activatedin stage one (e.g., both the top-left heating element 44 and thetop-right heating element 45 are activated) depending on the temperaturedistribution of the cooking medium 36.

As the temperature of the cooking medium 36 rises, the process 160 mayreduce the number of active heating elements on the side of the fry pot12, 14 where the cooking medium 36 has a higher temperature by default.That is, the activated heating elements may be deactivated in thereverse order they were activated as the temperature of the cookingmedium 36 rises above each of the threshold temperatures. Bypreferentially activating heating elements 44-47 proximate to regions ofthe cooking medium 36 that are relatively colder than other regions orthe average temperature of the cooking medium 36, the cold-regionselection feature may reduce temperature gradients across the cookingmedium 36.

The above process 160 may also include a staggered heating elementactivation scheme that introduces a delay t_(d) between sequentialactivation of heating elements 44-47, e.g., a delay t_(d)≥100milliseconds. This delay may increase the amount of time necessary toactivate all the heating elements 44-47 from an initial state in whichno heating elements are active. For example, for a 100 milliseconddelay, it would take a minimum of 300 milliseconds to go from no activeheating elements to four active heating elements.

Embodiments of the invention may also include a cooking mediumfiltration feature having different modes of operation. These modes mayinclude a hands-free mode, an operator-initiated mode, and a servicemode. The hands-free mode may cause a filtration cycle to run based onthe number of cook cycles, e.g., the filtration cycle runs automaticallywhen the number of cook cycles since the last filtration cycle or achange of cooking medium exceeds a threshold. The operator-initiatedmode may cause the filtration cycle to run when the operator activates afiltration cycle using the control panel. This mode may only be run onetime. The service mode (including oil dispose) may only run when theoperator activates this mode using the control panel.

The hands-free filtration process operates without operatorintervention. Before the filtration cycle begins, the fry pot 12, 14containing the cooking medium 36 that is to be filtered may beprohibited from accepting any new cook cycles or auto-top offoperations. A cook cycle that is in process may be allowed to complete,and any cook cycles in the queue for the fry pot 12, 14 being filteredmay be automatically moved to the other fry pot 12, 14. The hands-freefiltration process may then perform a circuit verification that confirmsthe drain pan switch is closed and that all heating elements aredeactivated before starting the filtration cycle. If these twoconditions are not met, the hands-free filtration process may delay orabort the filtration cycle.

The filtration cycle may start by opening the fill solenoid. After adelay (e.g., two seconds), the filter pump motor may be activated,thereby causing the cooking medium 36 to be agitated in the fry pot 12,14. This agitation may cause crumbs to be disturbed and lifted into thecooking medium 36. Next, while the pump is still running, the hands-freefiltration process opens the drain valve for a period based on ahands-free drain valve open time setting stored in memory. When thedrain valve open time has expired, the hands-free filtration processcloses the drain valve. The hands-free drain valve open time setting maybe set to allow a pre-determined amount of oil to drain from the fry potand into the drain pan. The duration of the hands-free drain valve opentime necessary to allow the predetermined amount of cooking medium 36 todrain may be determined empirically, and may vary depending on the typeand temperature of the cooking medium being drained.

The drained cooking medium 36 may then be filtered and returned to thefry pot 12, 14. To this end, the pump may be operated for a period oftime based on a hands-free pump activation time that has been determinedto be sufficient to return all the drained and filtered cooking medium36 to the fry pot 12, 14. After the pump is stopped, the hands-freefilter process may wait for a period of time (e.g., 2 seconds) beforeclosing the fill solenoid valve and completing the process. When thefiltration cycle is complete, any cook cycles still in the queue may beredistributed across both fry pots 12, 14, and the auto-top off featurereactivated.

Embodiments of the invention may also include a “proof of cookingmedium” check feature. This feature may operate when the fryer 10 isinitially powered up (e.g., during the program start-up sequence), andmay also operate during one or more of the melt mode, a pre-heat mode,the warm idle mode, the cooking mode, as well as after a filtering orfill cycle. The proof of cooking medium feature verifies that thefry-pot being checked has a sufficient amount of cooking medium tooperate safely, e.g., enough cooking medium 36 to cover the heatingelements 44-47, temperature sensors 48-50, and thermal cutoff switch 54.

In general, the routines executed to implement the embodiments of theinvention, whether implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions, or a subset thereof, may be referred to herein as“computer program code,” or simply “program code.” Program codetypically comprises computer-readable instructions that are resident atvarious times in various memory and storage devices in a computer andthat, when read and executed by one or more processors in a computer,cause that computer to perform the operations necessary to executeoperations or elements embodying the various aspects of the embodimentsof the invention. Computer-readable program instructions for carryingout operations of the embodiments of the invention may be, for example,assembly language, source code, or object code written in anycombination of one or more programming languages.

Various program code described herein may be identified based upon theapplication within which it is implemented in specific embodiments ofthe invention. However, it should be appreciated that any particularprogram nomenclature which follows is used merely for convenience, andthus the invention should not be limited to use solely in any specificapplication identified or implied by such nomenclature. Furthermore,given the generally endless number of manners in which computer programsmay be organized into routines, procedures, methods, modules, objects,and the like, as well as the various manners in which programfunctionality may be allocated among various software layers that areresident within a typical computer (e.g., operating systems, libraries,API's, applications, applets, etc.), it should be appreciated that theembodiments of the invention are not limited to the specificorganization and allocation of program functionality described herein.

The program code embodied in any of the applications/modules describedherein is capable of being individually or collectively distributed as acomputer program product in a variety of different forms. In particular,the program code may be distributed using a computer-readable storagemedium having computer-readable program instructions thereon for causinga processor to carry out aspects of the embodiments of the invention.

Computer-readable storage media, which is inherently non-transitory, mayinclude volatile and non-volatile, and removable and non-removabletangible media implemented in any method or technology for storage ofdata, such as computer-readable instructions, data structures, programmodules, or other data. Computer-readable storage media may furtherinclude RAM, ROM, erasable programmable read-only memory (EPROM),electrically erasable programmable read-only memory (EEPROM), flashmemory or other solid state memory technology, portable compact discread-only memory (CD-ROM), or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store data and which can be readby a computer. A computer-readable storage medium should not beconstrued as transitory signals per se (e.g., radio waves or otherpropagating electromagnetic waves, electromagnetic waves propagatingthrough a transmission media such as a waveguide, or electrical signalstransmitted through a wire). Computer-readable program instructions maybe downloaded to a computer, another type of programmable dataprocessing apparatus, or another device from a computer-readable storagemedium or to an external computer or external storage device via anetwork.

Computer-readable program instructions stored in a computer-readablemedium may be used to direct a computer, other types of programmabledata processing apparatuses, or other devices to function in aparticular manner, such that the instructions stored in thecomputer-readable medium produce an article of manufacture includinginstructions that implement the functions, acts, or operations specifiedin the flowcharts, sequence diagrams, or block diagrams. The computerprogram instructions may be provided to one or more processors of ageneral purpose computer, a special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the one or more processors, cause aseries of computations to be performed to implement the functions, acts,or operations specified in the flowcharts, sequence diagrams, or blockdiagrams.

The flowcharts and block diagrams depicted in the figures illustrate thearchitecture, functionality, or operation of possible implementations ofsystems, methods, or computer program products according to variousembodiments of the invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function or functions.

In certain alternative embodiments, the functions, acts, or operationsspecified in the flowcharts, sequence diagrams, or block diagrams may bere-ordered, processed serially, or processed concurrently consistentwith embodiments of the invention. Moreover, any of the flowcharts,sequence diagrams, or block diagrams may include more or fewer blocksthan those illustrated consistent with embodiments of the invention. Itshould also be understood that each block of the block diagrams orflowcharts, or any combination of blocks in the block diagrams orflowcharts, may be implemented by a special purpose hardware-basedsystem configured to perform the specified functions or acts, or carriedout by a combination of special purpose hardware and computerinstructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the embodimentsof the invention. As used herein, the singular forms “a”, “an” and “the”are intended to include both the singular and plural forms, and theterms “and” and “or” are each intended to include both alternative andconjunctive combinations, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises” or“comprising,” when used in this specification, specify the presence ofstated features, integers, actions, steps, operations, elements, orcomponents, but do not preclude the presence or addition of one or moreother features, integers, actions, steps, operations, elements,components, or groups thereof. Furthermore, to the extent that the terms“includes”, “having”, “has”, “with”, “comprised of”, or variants thereofare used in either the detailed description or the claims, such termsare intended to be inclusive in a manner similar to the term“comprising”.

While all the invention has been illustrated by a description of variousembodiments, and while these embodiments have been described inconsiderable detail, it is not the intention of the Applicant torestrict or in any way limit the scope of the appended claims to suchdetail. Additional advantages and modifications will readily appear tothose skilled in the art. The invention in its broader aspects istherefore not limited to the specific details, representative apparatusand method, and illustrative examples shown and described. Accordingly,departures may be made from such details without departing from thespirit or scope of the Applicant's general inventive concept.

What is claimed is:
 1. A fryer comprising: a fry pot configured toreceive a cooking medium; and a controller configured to: control anamount of heat provided to the cooking medium based on a setpointtemperature, the setpoint temperature being set to a target cookingtemperature during a cook cycle; in response to the cook cycle ending,start an idle timer; if an order to cook is received prior to expirationof the idle timer, reset the idle timer; and if the order to cook is notreceived prior to expiration of the idle timer, set the setpointtemperature to an idle temperature that is less than the target cookingtemperature.
 2. The fryer of claim 1 wherein the controller is furtherconfigured to: in response to the fryer being powered on, set thesetpoint temperature to a melt temperature that is less than the idletemperature; and in response to a sensed temperature of the cookingmedium reaching the melt temperature, set the setpoint temperature tothe target cooking temperature.
 3. The fryer of claim 2 furthercomprising: a plurality of heating elements, wherein the controller isfurther configured to, while the setpoint temperature is set to the melttemperature: select a heating element of the plurality of heatingelements based on an activation sequence; activate the selected heatingelement for an activation time; in response to the activation timeexpiring, deactivate the selected heating element; select a next heatingelement in the activation sequence; and repeat activation, deactivation,and selection of the next heating element in the activation sequencewhile the setpoint temperature is set to the melt temperature.
 4. Thefryer of claim 3 wherein the controller is further configured to, inresponse to deactivating the selected heating element, wait for adeactivation time before activating the next heating element.
 5. Thefryer of claim 3 wherein: the fry pot includes a plurality of regions,each heating element of the plurality of heating elements is located oneof the plurality of regions, and the activation sequence is configuredso that consecutively activated heating elements are not in the sameregion.
 6. The fryer of claim 1 further comprising: a heating element;and a power switch including a first contactor and a second contactorconnected in series, the power switch being configured to selectivelycouple the heating element to a power source in response to one or moresignals from the controller, wherein the controller is furtherconfigured to: in response to receiving a first command to activate theheating element, determine a state of a contactor flag having a firststate and a second state; in response to the contactor flag being in thefirst state: activate the first contactor, and in response to receivinga second command to deactivate the heating element, deactivate thesecond contactor and change the state of the contactor flag to thesecond state; and in response to the contactor flag being in the secondstate: activate the second contactor, and in response to receiving thesecond command to deactivate the heating element, deactivate the firstcontactor and change the state of the contactor flag to the first state.7. The fryer of claim 1 further comprising: a plurality of heatingelements each configured to provide heat to the cooking medium inresponse to being activated by the controller, and wherein thecontroller is further configured to: determine a cooking load; select aset of setpoint bias temperatures based on the cooking load, eachsetpoint bias temperature defining a threshold temperature below thetarget cooking temperature; in response to a sensed temperature of thecooking medium being below a first threshold temperature but above asecond threshold temperature, activate a first heating element of theplurality of heating elements; and in response to the sensed temperatureof the cooking medium being below the second threshold temperature,activate a second heating element of the plurality of heating elements.8. The fryer of claim 7 wherein the fry pot includes a plurality ofregions, and further comprising: a plurality of temperature sensors eachconfigured to provide one or more signals to the controller indicativeof a temperature of the cooking medium in a region of the plurality ofregions, wherein the controller is further configured to: each time aheating element is to be activated, determine the region of the fry pothaving a lowest temperature of the cooking medium; and select theheating element in the region having the lowest temperature of thecooking medium for activation.
 9. The fryer of claim 8 wherein theplurality of regions of the fry pot includes a first region into which afirst basket is lowered and a second region into which a second basketis lowered, and the cooking load is one of a first cooking load in whichthe first basket and the second basket are each full of a food product,a second cooking load in which one of the first basket and the secondbasket is partially full of the food product and the other of the firstbasket and the second basket is full of the food product, and a thirdcooking load in which the first basket and the second basket are eachpartially full of the food product.
 10. The fryer of claim 7 wherein thenumber of setpoint bias temperatures in the set of setpoint biastemperatures is equal to the number of heating elements in the pluralityof heating elements.
 11. The fryer of claim 7 wherein the controller isfurther configured to: in response to the sensed temperature of thecooking medium being above one of the first threshold temperature andthe second threshold temperature, deactivate any heating elements of theplurality of heating elements which were previously activated inresponse to the sensed temperature being below the one of the firstthreshold temperature and the second threshold temperature.
 12. A methodof controlling a fryer, comprising: controlling an amount of heatprovided to a cooking medium based on a setpoint temperature, thesetpoint temperature being set to a target cooking temperature during acook cycle; in response to the cook cycle ending, starting an idletimer; if an order to cook is received prior to expiration of the idletimer, resetting the idle timer; and if the order to cook is notreceived prior to expiration of the idle timer, setting the setpointtemperature to an idle temperature that is less than the target cookingtemperature.
 13. The method of claim 12 further comprising: in responseto the fryer being powered on, setting the setpoint temperature to amelt temperature that is less than the idle temperature; and in responseto a sensed temperature of the cooking medium reaching the melttemperature, setting the setpoint temperature to the target cookingtemperature.
 14. The method of claim 13 further comprising: while thesetpoint temperature is set to the melt temperature: selecting a heatingelement of a plurality of heating elements based on an activationsequence; activating the selected heating element for an activationtime; in response to the activation time expiring, deactivating theselected heating element; selecting a next heating element in theactivation sequence; and repeating activation, deactivation, andselection of the next heating element in the activation sequence whilethe setpoint temperature is set to the melt temperature.
 15. The methodof claim 14 further comprising: in response to deactivating the selectedheating element, waiting for a deactivation time before activating thenext heating element.
 16. The method of claim 14 wherein: each heatingelement of the plurality of heating elements is located one of aplurality of regions of a fry pot, and the activation sequence isconfigured so that consecutively activated heating elements are not inthe same region.
 17. The method of claim 12 wherein the fryer includes aheating element and a power switch including a first contactor and asecond contactor connected in series, the power switch being configuredto selectively couple the heating element to a power source, and furthercomprising: in response to receiving a first command to activate theheating element, determining a state of a contactor flag having a firststate and a second state; in response to the contactor flag being in thefirst state: activating the first contactor of the power switch, and inresponse to receiving a second command to deactivate the heatingelement, deactivating the second contactor and changing the state of thecontactor flag to the second state; and in response to the contactorflag being in the second state: activating the second contactor, and inresponse to receiving the second command to deactivate the heatingelement, deactivating the first contactor and changing the state of thecontactor flag to the first state.
 18. The method of claim 12 whereinthe fryer includes a plurality of heating elements each configured toprovide heat to the cooking medium in response to being activated by thecontroller, and further comprising: determining a cooking load;selecting a set of setpoint bias temperatures based on the cooking load,each setpoint bias temperature defining a threshold temperature belowthe target cooking temperature; in response to a sensed temperature ofthe cooking medium being below a first threshold temperature but above asecond threshold temperature, activating a first heating element of theplurality of heating elements; and in response to the sensed temperatureof the cooking medium being below the second threshold temperature,activating a second heating element of the plurality of heatingelements.
 19. The method of claim 18 wherein the fryer includes a frypot having a plurality of regions, and further comprising: each time aheating element is to be activated, determining the region of the frypot having a lowest temperature of the cooking medium; and selecting theheating element in the region having the lowest temperature of thecooking medium for activation.
 20. A computer program product forcontrolling a fryer, comprising: a non-transitory computer-readablestorage medium; and program code stored on the non-transitorycomputer-readable storage medium that, when executed by one or moreprocessors, causes the one or more processors to: control an amount ofheat provided to a cooking medium based on a setpoint temperature, thesetpoint temperature being set to a target cooking temperature during acook cycle; in response to the cook cycle ending, start an idle timer;if an order to cook is received prior to expiration of the idle timer,reset the idle timer; and if the order to cook is not received prior toexpiration of the idle timer, set the setpoint temperature to an idletemperature that is less than the target cooking temperature.
 21. Afryer comprising: a fry pot configured to receive a cooking medium; aplurality of heating elements each configured to provide heat to thecooking medium; and a controller operatively coupled to the heatingelements and configured to: control an amount of heat provided to thecooking medium by selectively activating the heating elements based on asetpoint temperature, the setpoint temperature being set to a targetcooking temperature; determine a cooking load; select a set of setpointbias temperatures based on the cooking load, each setpoint biastemperature defining a threshold temperature below the target cookingtemperature; in response to a sensed temperature of the cooking mediumbeing below a first threshold temperature but above a second thresholdtemperature, activate a first heating element of the plurality ofheating elements; and in response to the sensed temperature of thecooking medium being below the second threshold temperature, activate asecond heating element of the plurality of heating elements.